﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace DataObjects
{
    public class Veiculo : INotifyPropertyChanged
    {
        private int _Id;

        public int Id
        {
            get { return _Id; }
            set { _Id = value; }
        }

        private int _IdCompra;

        public int IdCompra
        {
            get { return _IdCompra; }
            set { _IdCompra = value; }
        }

        private int _IdVenda;

        public int IdVenda
        {
            get { return _IdVenda; }
            set { _IdVenda = value; }
        }

        private int _IdDespVeiculo;

        public int IdDespVeiculo
        {
            get { return _IdDespVeiculo; }
            set { _IdDespVeiculo = value; }
        }

        private string _TipoVeiculo;

        public string TipoVeiculo
        {
            get { return _TipoVeiculo; }
            set { _TipoVeiculo = value; }
        }

        private string _Marca;

        public string Marca
        {
            get { return _Marca; }
            set { _Marca = value; }
        }

        private string _Modelo;

        public string Modelo
        {
            get { return _Modelo; }
            set { _Modelo = value; }
        }

        private string _AnoFab;

        public string AnoFab
        {
            get { return _AnoFab; }
            set { _AnoFab = value; }
        }

        private string _AnoModelo;

        public string AnoModelo
        {
            get { return _AnoModelo; }
            set { _AnoModelo = value; }
        }

        private string _Placa;

        public string Placa
        {
            get { return _Placa; }
            set { _Placa = value; }
        }

        private string _Renavan;

        public string Renavan
        {
            get { return _Renavan; }
            set { _Renavan = value; }
        }

        private string _Chassi;

        public string Chassi
        {
            get { return _Chassi; }
            set { _Chassi = value; }
        }

        private string _Cor;

        public string Cor
        {
            get { return _Cor; }
            set { _Cor = value; }
        }

        private Venda _Venda;

        internal Venda Venda
        {
            get { return _Venda; }
            set { _Venda = value; }
        }

        private Compra _Compra;

        internal Compra Compra
        {
            get { return _Compra; }
            set { _Compra = value; }
        }

        private List<DespesasVeiculo> _DespesasVeiculo;

        internal List<DespesasVeiculo> DespesasVeiculo
        {
            get { return _DespesasVeiculo; }
            set { _DespesasVeiculo = value; }
        }

        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;

        private void NotifyPropertyChanged(string name)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(name));
        }

        #endregion
    }
}
